5f19a15ec943862decd723f1de916bac7140788b,addons/io/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/TrippableDevice.java,TrippableDevice,stateUpdated,#Item#State#,39

Before Change


        } else if (acceptedDataTypes.contains(DecimalType.class)) {
            DecimalType state = (DecimalType) item.getStateAs(DecimalType.class);
            tripped = state.intValue() != 0;
        } else if (acceptedDataTypes.contains(StringType.class)) {
            StringType state = (StringType) item.getStateAs(StringType.class);
            tripped = StringUtils.isNotBlank(state.toString()) && !state.toString().trim().equals("ok");
        } else {

After Change


    }

    @Override
    public void stateUpdated(Item item, State newState) {
        super.stateUpdated(item, newState);

        boolean tripped = false;

        if (item.getStateAs(OpenClosedType.class) != null) {
            OpenClosedType state = (OpenClosedType) item.getStateAs(OpenClosedType.class);
            tripped = state == OpenClosedType.CLOSED;
        } else if (item.getStateAs(OnOffType.class) != null) {
            OnOffType state = (OnOffType) item.getStateAs(OnOffType.class);
            tripped = state == OnOffType.ON;
        } else if (item.getStateAs(DecimalType.class) != null) {
            DecimalType state = (DecimalType) item.getStateAs(DecimalType.class);
            tripped = state.intValue() != 0;
        } else if (item.getStateAs(StringType.class) != null) {
            StringType state = (StringType) item.getStateAs(StringType.class);
            tripped = StringUtils.isNotBlank(state.toString()) && !state.toString().trim().equals("ok");
        } else {